Dynamic enhancement of context matching rules for business scenario models

ABSTRACT

A definition of a new user interface feature of a business software architecture supporting a business configuration used by an organization can be received and a rule in a scenario model of a business scenario can be accordingly modified to associate the new user interface feature with business process feature(s) of the business scenario. A selection of a business process feature received as a user interaction with first user interface elements arranged in a linear order in a navigation pane of a user interface to represent at least some of the plurality of business process features of the business process can result in the concurrent display via the user interface of a work frame comprising the new user interface feature.

CROSS-REFERENCE TO RELATED APPLICATIONS

The current application is related to the following co-pending andco-owned U.S. patent applications, the disclosure of each of which isincorporated herein in its entirety: [[Attorney docket nos.34874-774F01US/2011P00201US, 34874-760F01US/2011P00149US,34874-761F01US/2011P00163US, 34874-763F01US/2011P00166US,34874-764F01US/2011P00167US, 34874-765F01US/2011P00168US,34874-766F01US/2011P00169US, 34874-769F01US/2011P00172US,34874-770F01US/2011P00173US, 34874-771F01US/2011P00174US,34874-772F01US/2011P00175US, 34874-773F01US/2011P00198US, and34874-781F01US/2011P00363US]].

TECHNICAL FIELD

The subject matter described herein relates generally to enhancing userinteraction with, and navigation among, features, functions, controls,and the like of an integrated software suite, such as for example anenterprise resource planning solution.

BACKGROUND

The complexity of business software architectures, such as for exampleenterprise resource planning (ERP) systems, can present substantialchallenges to users and can be a serious obstacle to widespreadoperative use of process models in the software landscape. A wealth ofhighly technical process modeling notations (e.g. business processmodeling notation (BPMN) editors and process engines, enhanced processchains (EPC), modeling hierarchies built on these or similar modeltypes, etc.) is currently available for use in technical systems.However, these types of resources are typically difficult for anon-technical user to understand and use. While numerous non-technicaltools exist for depicting high-level processes (e.g. drawing, mind-map,or presentation tools, or the like), such tools typically lack anyoperative connection with the underlying transactional data relating tospecific instances of business scenarios or business processes in abusiness software architecture and therefore can provide only a pictureof an idealized concept of a business scenario or business process.

Typical, day-to-day business users do not know and do not generally wishto learn the syntax of BPMN or similar notations just to be able tomatch their business needs with the features and capabilities of abusiness software solution. Notations like BPMN or EPC are generallyaddressed to a more technical audience and can be seen as powerfulgraphical programming languages that by their very nature are detailrich. For scenario or process modelers, it can be difficult to simplifya business scenario or business process model to a suitable abstractionlevel and to include only a necessary level of information. In realworld organizations, business users have specific roles within theorganization, i.e. they work as accountants, project managers, salesrepresentatives etc. Therefore, business scenario or business processnavigation and visualization tools are advantageously relevant for aspecific target role. Business scenario or business process models of anorganization can be integrated by nature. For example, sales processestrigger fulfilling, and fulfilling triggers accounting. Business userscan have a need to understand, discuss, and adapt the transition pointsbetween end-to-end scenario or process chains in the software.

SUMMARY

In one aspect, a method includes receiving a definition of a new userinterface feature of a business software architecture that supports abusiness configuration used by an organization. The businessconfiguration includes a business scenario that includes a plurality ofbusiness process features having associated user interface features. Arule in a scenario model of the business is modified to associate newuser interface feature with at least one of the plurality of businessprocess features. A selection of the at least one of the plurality ofbusiness process features received as an input via a user interfacepresentable on a computer display device is detected. The input includesuser interaction with at least one of a first plurality of userinterface elements that are arranged in a linear order in a navigationpane of the user interface to represent at least some of the pluralityof business process features of the business scenario. A work frame thatincludes the new user interface feature is displayed via the userinterface concurrently with the navigation pane.

In some variations one or more of the following features can optionallybe included in any feasible combination. The receiving can optionallyoccur via a process linkage editor displayed in the work pane uponselection of a linkage modification user interface element displayed inthe navigation pane. The receiving alternatively optionally occur via ascenario linkage editor operable by a scenario administrator. Thescenario administrator can have received a scenario modificationfeedback entered in the user interface by a business user who lackssufficient permissions to modify the scenario model. The scenariomodification feedback can optionally include a request to incorporatethe new user interface feature. The new user interface feature canoptionally relate to an external functionality provided by an softwarecomponent external to, but integrated into, a core software platform ofthe business software architecture. The modifying can optionally furtherinclude associating the external functionality with the business processfeature. The scenario model can optionally be stored, for example in ametadata repository, and the scenario model can optionally be used tosupport scenario navigation relevant to the business configuration. Thescenario navigation can optionally provide an ability to directly changea link between one of the first plurality of user interface elements andits associated business process feature.

Implementations of the current subject matter can include, but are notlimited to, systems and methods consistent including one or morefeatures are described as well as articles that comprise a tangiblyembodied machine-readable medium operable to cause one or more machines(e.g., computers, etc.) to result in operations described herein.Similarly, computer systems are also described that may include one ormore processors and one or more memories coupled to the one or moreprocessors. A memory, which can include a computer-readable storagemedium, may include, encode, store, or the like one or more programsthat cause one or more processors to perform one or more of theoperations described herein. Computer implemented methods consistentwith one or more implementations of the current subject matter can beimplemented by one or more data processors residing in a singlecomputing system or multiple computing systems. Such multiple computingsystems can be connected and can exchange data and/or commands or otherinstructions or the like via one or more connections, including but notlimited to a connection over a network (e.g. the Internet, a wirelesswide area network, a local area network, a wide area network, a wirednetwork, or the like), via a direct connection between one or more ofthe multiple computing systems, etc.

Implementations of the current subject matter can provide one or moreadvantages. For example, administrator-level users in an organizationcan dynamically create “best practice” modifications to an existingbusiness configuration of a business software architecture by use of aconvenient, intuitive tool for enhancing correlation rules between userinterface features and business process features. These enhancements canbe quickly (if not immediately) reflected in process models storingmetadata relating to the various business processes in the businessconfiguration. An ordinary business user (e.g. a user withoutadministrator permissions) can also quickly personalize correlationsbetween user interface features and business process features accordingto his or individual user preferences and personal working requirements.Using one or more implementations of the current subject matter, anorganization can easily define its own best practices (for exampleregarding navigation and process context display, and publish themimmediately or at least very rapidly to all business users within theorganization via changes made to a process repository that underliesprocess navigation. These changes can be made via a simple visual editorthat can optionally include proposals for default settings. To theextent that a given business user has adequate permissions, he or shecan also make customizations at a local level to reflect, enhance, etc.his or her daily work flow or personal preferences.

The details of one or more variations of the subject matter describedherein are set forth in the accompanying drawings and the descriptionbelow. Other features and advantages of the subject matter describedherein will be apparent from the description and drawings, and from theclaims. While certain features of the currently disclosed subject matterare described for illustrative purposes in relation to an enterpriseresource software system or other business software solution orarchitecture, it should be readily understood that such features are notintended to be limiting. The claims that follow this disclosure areintended to define the scope of the protected subject matter.

DESCRIPTION OF DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this specification, show certain aspects of the subject matterdisclosed herein and, together with the description, help explain someof the principles associated with the disclosed implementations. In thedrawings,

FIG. 1 shows a screenshot of a user interface illustrating a scenariolandscape overview view;

FIG. 2 shows another screenshot of a user interface illustrating alinear single business process view and associated user interfacefeatures for guided modification of aspects of a business process;

FIG. 3 is a process flow diagram illustrating aspects of a method havingone or more features consistent with implementations of the currentsubject matter;

FIG. 4 is a process flow diagram illustrating aspects of a method havingone or more features consistent with implementations of the currentsubject matter;

FIG. 5 is a diagram illustrating aspects of a system showing featuresconsistent with implementations of the current subject matter;

FIG. 6 is a diagram illustrating aspects of a system showing featuresconsistent with implementations of the current subject matter; and

FIG. 7 is a diagram illustrating a data repository showing featuresconsistent with implementations of the current subject matter.

When practical, similar reference numbers denote similar structures,features, or elements.

DETAILED DESCRIPTION

Currently available business software architectures, including forexample enterprise resource planning (ERP) systems and the like,generally do not include functionality permitting a business user toaccess a convenient overview of a concrete instance of a businessfunction or to readily navigate through features, functions, etc. of thebusiness software architecture in a manner that intuitively follows theprogress of a specific instance of the business scenario or businessprocess. Incorporation of customizations to a core software platform ofa business software architecture after initial scoping of anorganization's business configuration can be challenging. Furthercomplexity can result from a desire to allow an individual business userto modify his or her user interface work space, either to includefunctionality provided by an external software component, for examplevia adding one or more features or functions or user interface workcenters, etc. created or provided by software or other applicationservices that are not part of or otherwise external to the core softwareplatform.

To address these and potentially other issues with currently availablesolutions, methods, systems, articles of manufacture, and the likeconsistent with one or more implementations of the current subjectmatter can, among other possible advantages, provide a mechanism todynamically modify and/or personalize metadata that enable scenario orprocess navigation. Individual business users as well as theorganization as a whole can benefit from the ability to conveniently andrapidly integrate additional functionality into a business configurationof a business software architecture according to permissions and definedcompatibility and usability rules. According to implementations of thecurrent subject matter, a correlation engine can dynamically match acurrent user context with one (or in some examples more than one)business process feature of a specific instance of a business scenarioor business process supported by the business software architecture asis it is configured within a scenario landscape of the organization.Business process features of one or more specific instances of businessscenarios or business processes that match the business user's currentcontext can be highlighted, as can additional activity options relatingto those specific instances.

A scenario landscape for an organization can refer to a set includingall or some of the business scenarios and/or business processescharacterizing an organization's operations. In general a businessscenario can includes one or more business processes, process steps, orother business process features. Business process features can include,but are not limited to, one or more of business processes, processsteps, sub-processes, tasks, activities, and the like. The businessscenarios and business processes can be managed, and tasks relating tothe completion of one or more steps of the business processes can besupported by, one or more feature modules of a business softwarearchitecture, such as for example an enterprise resource planning (ERP)system. The terms “instance of a business process,” “instance of abusiness scenario,” and similar descriptive terminology is intended torefer to a specific execution of a business process or a businessscenario, respectively. For example, for a business scenario relating tosale of a product, each order taken and filled for that product can beconsidered as an instance of the business scenario. A businessconfiguration can be a set of business scenarios including sets ofbusiness processes or business process features supported by thebusiness software architecture and optionally customized to reflect theactual, real-life business functions (e.g. end-to-end businessprocesses) performed by employees or other organization members on arecurring basis. A business configuration for an organization customerof a business software architecture is usually set up upon initialinstallation with occasional modifications or updates provided toreflect changes to the underlying real-life processes and procedures.Such a business configuration is typically constructed like a catalog,and its functions can be structured according to business areas,packages, topics and options. Once the initial business configuration isset up, all decisions are made, and the scoping is done, the businesssoftware architecture is ready for productive usage. The term “masterdata” generally refers to information that is key to the operation of abusiness and that typically changes either not at all or on time scalessubstantially longer than transactional data. Such information caninclude, but is not limited to, data about customers, products,employees, materials, suppliers, etc. which is non-transactional innature. Master data can support transactional processes and operations,but can also be used in analytics, reporting, etc. and is often used byseveral functional groups and stored in different data systems across anorganization.

Using one or more implementations of the current subject matter, a userneed not navigate through an entire business configuration to identify anecessary user interface screen or element to make a change to thebusiness configuration. Mapping information between business scenarios,business processes, process steps, sub-processes, tasks or featuresrelated thereto, or other aspects of a business software architectureand a specific configuration setting corresponding to these aspects ofthe business software architecture can be stored in a business scenariometa-model. The business scenario meta-model can provide mappinginformation between a business software architecture aspect and acorresponding location in the business configuration. An additionalbenefit can be realized in that changes made to the settings of thebusiness configuration can be immediately (or at least rapidly) bereflected in the corresponding view of a business scenario or businessprocess for all users of the business software architecture.

The quality of any business scenario- or business process-basednavigational approach can depend on the quality of the content in theunderlying scenario or process repository. Creating first class contentup-front can be tedious and can require a wealth of experience. Evenunder ideal conditions, however, scenario or process model content maynever fully match the expectations of each group of users or even theexpectations of each individual user. Implementations of the currentsubject matter can empower each user within an organization tocontribute to the content of the scenario or process repository byadapting it to their expectations and known best practices.Administrator-level users can enhance the content for entire groups ofusers, while individuals can customize the system to their specializedneeds or preferences. Content extension and/or adoption can be supportedby auto-generating proposals, partial proposals, or the like for linksbetween business process features and user interface features and bynarrowing down the possible choices. A user can thereby be freed formthe need to understand the typically comprehensive technologicalbackground behind content-to-process or content-to-scenariocorrelations.

A scenario landscape map such as is described herein can serve as anintegrated part of a business software solution and can include one ormore of the following capabilities. In some implementations, a scenariolandscape map can provide a visualization of business scenarios and/orbusiness processes in an organization's current business configurationusing a transit-map style, for example using a visual analog to ageographical map in the form of a schematic diagram in which routes andstations of a public transport system represent scenario flow andactions that are performed in the execution of a business scenario orbusiness process. The scenario landscape map can translate scenarioflows visualized as route lines into end-to-end business scenarios, andstations or stops visualized as labeled icons into business processesand/or other business process features. A business user or prospectivebusiness user can thereby be assisted in efficiently understanding,discussing, and/or adjusting the underlying business scenario model ofan business software solution in either or both of the software salesand software implementation cycles. Unlike more technical displays ofbusiness scenario information (e.g. business process modeling notationor the like), the scenario landscape map deliberately uses apre-calculated level of reduced detail and accuracy in representingbusiness scenario model semantics. Instead, the scenario landscape map,which can also be referred to as a scenario browser or the like, makesuse of straight lines, fixed angles, and/or other relatively simplygeometric shapes, and can make use of an approximately similar, fixeddistance between “stops” on the route line (each of which can representa process, process step, or other business process feature) while hidingactual complications (e.g. decision trees, loops, branches, alternativeroutes, etc.) of the “real” underlying business scenario flow and,optionally, end-to-end scenario dependencies as well. Such an approachcan create a simplified, linear abstracted visualization of theunderlying software reality that provides just the right degree ofdetail for business-focused discussions.

Continuing with the analogy to transit maps, non-relevant or lessrelevant aspects of reality (e.g. pedestrian routes, buildings, rivers,etc.) can be excluded from the visualization to provide only the keyinformation necessary to assist a “rider” (e.g. a user) in getting froma starting location to a destination. In a visualization modelconsistent with implementations of the current subject matter,“stations” (e.g. process steps, sub-processes, etc. represented visuallyas points along the route line) that serve as interchanges between linescan be thought of as analogous to one or more integration orintersection points between end-to-end business scenarios.

The scenario landscape map or process scenario need not be a static,“birds eye” view of a business scenario landscape, but can instead serveto focus information that is most relevant to a currently activebusiness scenario, for example by positioning a route line representingthe currently active business scenario in the approximate center of ascenario landscape map view with other integrated or intersectingbusiness scenarios that form part of the business scenario landscapedisplayed in relation to the currently active business scenario. Inanother example, a most relevant business scenario of a specific rolecan be positioned in this manner with the most relevant businessscenario being represented as a route line in the approximate center ofthe scenario landscape map view.

A scenario landscape map or scenario browser can also enable seamlesszoom-in and zoom-out across an entire business process model of theorganization in a manner similar to electronic geographical maps. Asingle scenario navigation tool, for example one as described in theabove-referenced related applications or as described below, can also belaunched via the scenario landscape map or scenario browser to allowswitching from a scenario landscape view to a transactional dataprocessing mode.

FIG. 1 illustrates an example of a scenario landscape overview map orscenario browser 100, which includes relational links between aplurality of business processes in a scenario landscape. Each of severalbusiness scenarios 102, 104, 106, 110, 112, 114, 116 are shown at alinear overview degree of detail to depict the relations between thedifferent business scenarios 102, 104, 106, 110, 112, 114, 116 in thescenario landscape. In an implementation, the scenario landscapeoverview map 100 can be modeled as a transit map that shows the placeand the function of each business scenario in the scenario landscape asa whole. Intrinsic relation types between the business scenarios 102,104, 106, 110, 112, 114, 116 can include, but are not limited to, apredecessor scenario, which is defined as a business scenario whosecompletion is a prerequisite to another business scenario (e.g. businessscenario 102, which includes several business processes or otherbusiness process features (shown in FIG. 1 as smaller circles) that leadto the initiation of business scenario 104); a successor scenario, whichis defined as a business scenario having a predecessor scenario (e.g.business scenario 104, which has business scenario 102 as itspredecessor scenario); a joint use scenario, which is defined as abusiness scenario that shares a common business process or other commonbusiness process feature, a common data object, a common responsibleentity (e.g. a person, a unit, etc.), a common event, or the like (e.g.business scenarios 106 and 110, which share business process featureswith business scenario 112; or business scenario 116 and businessscenario 104, which share a business process or other business processfeature); and a hierarchical use scenario, which is defined as abusiness scenario that uses another business process or businessscenario as a sub-scenario (e.g. business scenario 112, which includesas a branching sub-scenario the business scenario 114). Also as shown inFIG. 1, the business scenarios and/or the included business processes orbusiness process features can be labeled in a manner similar to stops ona transit map.

The scenario landscape overview map 100 can advantageously be arrangedin a scenario-centric manner, for example such that a selected businessscenario 104 is arranged approximately centrally in the overview diagramwith other business scenarios (e.g. including but not limited to thebusiness scenario relationships explained in the preceding paragraph)relating to the selected business scenario 104 shown branching orintersecting with the selected business scenario 104. The selectedbusiness scenario 104 can optionally be a business scenario that is mostrelevant to a current role of a user, a currently active businessscenario, or the like. The scenario overview map 100 can alsoadvantageously include one or more visual cues to indicate informationabout the various business scenarios, business processes, and/or thebusiness process features shown in the scenario overview map 100. Forexample, the route line 120 of the selected business scenario 104 can beshown in a different thickness, with a different pattern, in a differentcolor or brightness, or the like, and the business processes or businessprocess features of the selected business scenario 104 can likewise beshown with a different pattern, color, brightness, etc. Clicking on abusiness process or business process feature of the selected businessscenario 104 can directly navigate a user to a linear single scenarioview of the currently active business scenario displayed simultaneouslywith a work space including user interface elements related tocompletion, monitoring, etc. of the selected business process orbusiness process feature. Clicking on a business process or businessprocess feature of another scenario besides the selected businessscenario 104 can cause the scenario overview map 100 to rearrange toshow the scenario landscape with a new scenario-centric view based onthe newly selected business scenario.

FIG. 2 illustrates an example of a linear single scenario view 200,which shows a single business scenario as a linear sequence of businessprocesses or other business process features that can include processsteps, sub-processes, tasks within sub-processes, and the like. Thestructure of the business scenario is condensed into a linear view, eventhough the actual flow of tasks and other actions necessary to completean instance of the business scenario often involves explicitparallelism, decisions, loops, event driven changes in control flow,exceptions, and the like. Consistent with the scope of the currentsubject matter, any viable approach can be used to shape a businessscenario into such a linear view.

As shown in FIG. 2 a scenario navigation pane 202 and a work pane 204are concurrently displayed. A plurality of first user interface elements206 are displayed in the scenario navigation pane 202 and arranged in alinear progression to represent the linear sequence of businessprocesses or other business process features in the scenario model ofthe currently actively business scenario. A first user interface element210 corresponding to a business process having additional embeddedprocess steps can be expanded as shown in FIG. 2 to display additionaluser interface elements 212 corresponding to the process steps. Also asshown in FIG. 2, the currently displayed business scenario can beidentified by one or more scenario identifier user elements 214. Ascenario browser user interface element 216 can link to the upper levelscenario landscape overview map 100 to display a scenario landscapeoverview map 100 showing intersections between scenarios and providinglinks to navigate to the other scenarios in the scenario landscape.

The first user interface elements 206 can be displayed in a mannersimilar to a transit route map with each business process or businessprocess feature being represented like a stop on the route. In thismanner, a familiar visual format can rapidly convey additionalinformation about a current context within a specific instance of thebusiness scenario as well as status information about the variousbusiness processes or other business process features along the “route”to completion of the instance. For example, a route line 220 connectingthe “stops” can be presented with a first visual effect (e.g. color,brightness, shade, dots or dashes, etc.) up to the “stop” representingthe business process feature that is currently selected with relatedfunctionality being provided in the work pane 204. The currentlyselected business process feature can be further indicated using textualor visual cues, such as for example color, shading, font, a highlightingbox, etc. As a non-limiting example, the name of the business processfeature displayed in conjunction with the user interface element 222corresponding to the currently selected business process feature in FIG.2 is formatted in a bold and italicized font. A different second visualeffect can be used for the route line 220 leading to the “stops” pastthe currently selected business process feature. The icons 224 used torepresent the “stops” in the scenario navigation pane can also includevisual cues to inform a user about status, other business processfeatures that are included within the currently displayed businessprocess feature user interface elements and that can be revealed by auser action to expand the route map, or the like.

Also in the example shown in FIG. 2, the expanded business process 210is includes business process features that are illustrated by first userelements 212 incorporated directly into the route map without branchingto maintain the linear progression of the scenario model. The first userinterface element 226 representing the “stop” corresponding to thisbusiness process 210 can include visual presentation features toindicate that it is currently expanded as shown in FIG. 2, while anotherfirst user interface element 230 representing a “stop” corresponding toanother expandable business process having additional, currentlyundisplayed business process features can include visual presentationfeatures to indicate that it is currently not expanded but capable ofbeing expanded. Additional first user interface elements 232 (e.g. the“i” icons shown in FIG. 2) can provide a link to a customization screenthat can be displayed in the work pane 204 to allow a user to modify alink between a corresponding business process feature and second userinterface elements to be displayed in the work pane 204 during executionof an instance of the business scenario.

FIG. 3 shows a process flow chart 300 illustrating a method having oneor more features consistent with implementations of the current subjectmatter. At 302, a definition of a new user interface feature of abusiness software architecture that supports a business configurationused by an organization is received. The new user interface feature canoptionally relate to an external functionality provided by anapplication service external to, but integrated into, a core softwareplatform. The business configuration includes a business scenarioincluding a plurality of business process features having associateduser interface features. At 304, a rule in a scenario model of thebusiness scenario is modified to associate the new user interfacefeature, and optionally the external functionality, with at least one ofthe plurality of business process features. A selection of the at leastone of the plurality of business process features received as an inputvia a user interface presentable on a computer display device isdetected at 306. The input includes user interaction with at least oneof a first plurality of user interface elements that are arranged in alinear order in a navigation pane of the user interface to represent atleast some of the plurality of business process features of the businessscenario. A work frame comprising the new user interface feature isconcurrently displayed, via the user interface, with the navigation paneat 310.

As noted above, when a user selects a business process feature, forexample via selection (e.g. clicking on, right clicking on, tapping,highlighting, etc.) of one or more of the first user interface elementsdisplayed in the navigation pane 202, the view in the work pane 204shows second user interface elements relating to the business processfeature(s) associated with the selected one or more of the first userinterface elements. The second user interface features can be part of anapplication program, a work center view, a transaction screen, etc. thatsupports the user to perform activities relating to the selectedbusiness process feature. The correlation between business processfeatures of a business scenario and specific user interface features aswell as the ability to navigate between them according to a clear,intuitive process map can be based on meta information, including butnot limited to metadata describing the underlying business scenariomodel and relationships to user interface features, business objects,etc. that support the functionality necessary to perform the activitiesassociated with each business process feature.

A one-to-one correlation between a given business process feature andthe user interface context supporting a user to perform activitiesrelated to that business process feature can be desirable. However, apre-defined linkage between a business process feature and related userinterface features may not be consistent with the needs of theorganization, or alternatively with the needs of a specific businessuser or group of business users within the organization. Implementationsof the current subject matter include tools to enable changing themetadata directly on one or more of a global basis (e.g. for a user withadministrator or comparable permissions), a local basis (e.g. only for asubset of users), a personal basis (e.g. for a business user who wishesto modify workflow features or the like that he or she uses inperforming tasks, or via an indirect request mechanism (e.g. for abusiness user without administrative permissions who wishes to suggestan improvement in the organization's business configuration) using avisual tool based on the scenario navigation pane 202.

The process flow diagram 400 of FIG. 4 illustrates additional featuresconsistent with one or more implementations of the current subjectmatter. A scenario model can be stored at 402, for example in one ormore scenario repositories that includes metadata, rules, etc. to drivedelivery of an integrated user interface. The integrated user interfacecan at 404 support scenario navigation relevant to anorganization-specific business configuration and the ability to directlychange links between user interface features and business processfeatures or to request that such changes be made by a user withsufficient permissions. This support can include receiving, at 406 via aprocess link editor, a change of one or more rules in the scenario modeland associating the change in the scenario model with a specific user ora group of users (optionally all users). Optionally at 410, if thescenario model includes multiple links between a business processfeature and more than one different user interface context, a user canbe requested to prioritize the links.

Definition of links between business process features and user interfacefeatures can optionally occur with system support. For example, thecurrent context of a user can be automatically extracted from theunderlying program, transaction, etc. with which the user isinteracting. The target of the link can be chosen from a pre-filteredlist of business process features that technically (e.g. in terms of aleading business object) match the context. Depending on the role of theuser, the user's intention in extending the correlation information mayvary. For example, a business process expert with an extensive overviewof the organization's business needs and the task to improve thebusiness process experience for all users may wish to make globalchanges that affect multiple users while a specialized worker may simplywish to improve his or her own interaction with the system. In the firstcase, a key user can add additional rules to scenario models and publishthem for organization-wide use. In the second case, a normal businessuser can personalize the rules only for himself or herself. The editorcan distinguish these two cases based on the role-based authorizationsof the user.

The core software platform of an ERP or other business softwarearchitecture can be provided as a standalone, customized softwareinstallation that runs on one or more processors that are under thecontrol of the organization. This arrangement can be very effective fora large-scale organization that has very sophisticated in-houseinformation technology (IT) staff and for whom a sizable capitalinvestment in computing hardware and consulting services required tocustomize a commercially available ERP solution to work withorganization-specific business processes and functions is feasible. FIG.5 shows a diagram of a system consistent with such an implementation. Acomputing system 502 can include one or more core software platformmodules 504 providing one or more features of the ERP system. Thecomputing system can also aggregate or otherwise provide a gateway viawhich users can access functionality provided by one or more externalsoftware components 506, which can optionally be available from serviceproviders external to the core software platform modules 504. Clientmachines 508 can access the computing system, either via a directconnection, a local terminal, or over a network 510 (e.g. a local areanetwork, a wide area network, a wireless network, the Internet, or thelike). A business scenario guidance and recording module 512 can behosted on the computing system 502 or alternatively, on an externalsystem accessible over a network connection. The business scenarioguidance and recording module 512 can optionally include one or morediscrete software and/or hardware modules that perform operations suchas those described herein.

The business scenario guidance and recording module 512 can access oneor more metadata repositories 516 and/or other data repositories thatcan store the definition of business processes and businessconfiguration as well as data, metadata, master data, etc. relating todefinitions of the business processes, the business configuration,and/or concrete instances of the data objects (e.g. business objects)that are relevant to a specific instance of the business process. Insome examples, the definition can optionally be stored as a businessobject. In some implementations, the business object can include atemplate definition of a standard business process. The templatedefinition that can optionally be modified via one or more extensionsthat are stored in the one or more metadata repositories 516.

Smaller organizations can also benefit from use of ERP functionality.However, such an organization may lack the necessary hardware resources,IT support, and/or consulting budget necessary to make use of astandalone ERP software architecture product and can in some cases bemore effectively served by a software as a service (SaaS) arrangement inwhich the ERP system architecture is hosted on computing hardware suchas servers and data repositories that are maintained remotely from theorganization's location and accessed by authorized users at theorganization via a thin client, such as for example a web browser, overa network.

In a software delivery configuration in which services of an ERP systemare provided to each of multiple organizations are hosted on a dedicatedsystem that is accessible only to that organization, the softwareinstallation at the dedicated system can be customized and configured ina manner similar to the above-described example of a standalone,customized software installation running locally on the organization'shardware. However, to make more efficient use of computing resources ofthe SaaS provider and to provide important performance redundancies andbetter reliability, it can be advantageous to host multiple tenants on asingle system that includes multiple servers and that maintains data forall of the multiple tenants in a secure manner while also providingcustomized solutions that are tailored to each tenant's businessprocesses.

FIG. 6 shows a block diagram of a multi-tenant implementation of asoftware delivery architecture 600 that includes an application server602, which can in some implementations include multiple server systems604 that are accessible over a network 510 from client machines operatedby users at each of multiple organizations 610A-610C (referred to hereinas “tenants” of a multi-tenant system) supported by a single softwaredelivery architecture 600. For a system in which the application server602 includes multiple server systems 604, the application server caninclude a load balancer 612 to distribute requests and actions fromusers at the one or more organizations 610A-610C to the one or moreserver systems 604. Instances of the core software platform 504 (notshown in FIG. 6) can be executed in a distributed manner across theserver systems 604. A user can access the software delivery architectureacross the network using a thin client, such as for example a webbrowser or the like, or other portal software running on a clientmachine. The application server 602 can access data and data objectsstored in one or more data repositories 516. The application server 602can also serve as a middleware component via which access is provided toone or more external software components 506 that can be provided bythird party developers.

A multi-tenant system such as that described herein can include one ormore of support for multiple versions of the core software and backwardscompatibility with older versions, stateless operation in which no userdata or business data are retained at the thin client, and no need fortenant configuration on the central system. As noted above, in someimplementations, support for multiple tenants can be provided using anapplication server 602 that includes multiple server systems 604 thathandle processing loads distributed by a load balancer 612. Potentialbenefits from such an arrangement can include, but are not limited to,high and reliably continuous application server availability andminimization of unplanned downtime, phased updating of the multipleserver systems 604 to permit continuous availability (one server system604 can be taken offline while the other systems continue to provideservices via the load balancer 612), scalability via addition or removalof a server system 604 that is accessed via the load balancer 612, andde-coupled lifecycle processes (such as for example system maintenance,software upgrades, etc.) that enable updating of the core softwareindependently of tenant-specific customizations implemented byindividual tenants.

As in the example illustrated in FIG. 5, the metadata repository 516 canstore a business object that represents a template definition of astandard business process. Each individual tenant 610A-610C cancustomize that standard template according to the individual businessprocess features specific to business of the organization to which thattenant is assigned. Customizations can be stored as extensions in themetadata repository.

To provide for customization of the business process for each ofmultiple organizations supported by a single software deliveryarchitecture 600, the data and data objects stored in the metadatarepository 516 and/or other data repositories that are accessed by theapplication server 602 can include three types of content as shown inFIG. 7: core software platform content 702 (e.g. a standard definitionof a business process), system content 704 and tenant content 706. Coresoftware platform content 702 includes content that represents corefunctionality and is not modifiable by a tenant. System content 704 canin some examples be created by the runtime of the core software platformand can include core data objects that store concrete data associatedwith specific instances of a given business process and that aremodifiable with data provided by each tenant. The data retained in thesedata objects are tenant-specific: for example, each tenant 610A-610N canstore information about its own inventory, sales order, etc. Tenantcontent 706A-706N includes data objects or extensions to other dataobjects that are customized for one specific tenant 610A-610N to reflectbusiness processes and data that are specific to that specific tenantand are accessible only to authorized users at the corresponding tenant.Such data objects can include a key field (for example “client” in thecase of inventory tracking) as well as one or more of master data,business configuration information, transaction data or the like. Forexample, tenant content 706 can reflect tenant-specific modifications orchanges to a standard template definition of a business process as wellas tenant-specific customizations of the business objects that relate toindividual process step (e.g. records in generated condition tables,access sequences, price calculation results, other tenant-specificvalues, or the like). A combination of the software platform content 702and system content 704 and tenant content 706 of a specific tenant areaccessed to provide the business process definition and/or the statusinformation relating to a specific instance of the business processaccording to customizations and business data of that tenant such thateach tenant is provided access to a customized solution whose data areavailable only to users from that tenant.

One or more aspects or features of the subject matter described hereincan be realized in digital electronic circuitry, integrated circuitry,specially designed application specific integrated circuits (ASICs),field programmable gate arrays (FPGAs) computer hardware, firmware,software, and/or combinations thereof. These various aspects or featurescan include implementation in one or more computer programs that areexecutable and/or interpretable on a programmable system including atleast one programmable processor, which can be special or generalpurpose, coupled to receive data and instructions from, and to transmitdata and instructions to, a storage system, at least one input device,and at least one output device. The programmable system or computingsystem may include clients and servers. A client and server aregenerally remote from each other and typically interact through acommunication network. The relationship of client and server arises byvirtue of computer programs running on the respective computers andhaving a client-server relationship to each other.

These computer programs, which can also be referred to as programs,software, software applications, applications, components, or code,include machine instructions for a programmable processor, and can beimplemented in a high-level procedural and/or object-orientedprogramming language, and/or in assembly/machine language. As usedherein, the term “machine-readable medium” refers to any computerprogram product, apparatus and/or device, such as for example magneticdiscs, optical disks, memory, and Programmable Logic Devices (PLDs),used to provide machine instructions and/or data to a programmableprocessor, including a machine-readable medium that receives machineinstructions as a machine-readable signal. The term “machine-readablesignal” refers to any signal used to provide machine instructions and/ordata to a programmable processor. The machine-readable medium can storesuch machine instructions non-transitorily, such as for example as woulda non-transient solid-state memory or a magnetic hard drive or anyequivalent storage medium. The machine-readable medium can alternativelyor additionally store such machine instructions in a transient manner,such as for example as would a processor cache or other random accessmemory associated with one or more physical processor cores.

To provide for interaction with a user, one or more aspects or featuresof the subject matter described herein can be implemented on a computerhaving a display device, such as for example a cathode ray tube (CRT) ora liquid crystal display (LCD) or a light emitting diode (LED) monitorfor displaying information to the user and a keyboard and a pointingdevice, such as for example a mouse or a trackball, by which the usermay provide input to the computer. Other kinds of devices can be used toprovide for interaction with a user as well. For example, feedbackprovided to the user can be any form of sensory feedback, such as forexample visual feedback, auditory feedback, or tactile feedback; andinput from the user may be received in any form, including, but notlimited to, acoustic, speech, or tactile input. Other possible inputdevices include, but are not limited to, touch screens or othertouch-sensitive devices such as single or multi-point resistive orcapacitive trackpads, voice recognition hardware and software, opticalscanners, optical pointers, digital image capture devices and associatedinterpretation software, and the like.

The subject matter described herein can be embodied in systems,apparatus, methods, and/or articles depending on the desiredconfiguration. The implementations set forth in the foregoingdescription do not represent all implementations consistent with thesubject matter described herein. Instead, they are merely some examplesconsistent with aspects related to the described subject matter.Although a few variations have been described in detail above, othermodifications or additions are possible. In particular, further featuresand/or variations can be provided in addition to those set forth herein.For example, the implementations described above can be directed tovarious combinations and subcombinations of the disclosed featuresand/or combinations and subcombinations of several further featuresdisclosed above. In addition, the logic flows depicted in theaccompanying figures and/or described herein do not necessarily requirethe particular order shown, or sequential order, to achieve desirableresults. Other implementations may be within the scope of the followingclaims.

What is claimed is:
 1. A computer program product comprising amachine-readable medium storing instructions that, when executed by atleast one programmable processor, cause the at least one programmableprocessor to perform operations comprising: receiving a definition of anew user interface feature of a business software architecture, thebusiness software architecture supporting a business configuration usedby an organization, the business configuration comprising a businessscenario that comprises a plurality of business process features havingassociated user interface features; modifying a rule in a scenario modelof the business to associate new user interface feature with at leastone of the plurality of business process features; detecting a selectionof the at least one of the plurality of business process features, theselection being received as an input via a user interface presentable ona computer display device, the input comprising user interaction with atleast one of a first plurality of user interface elements that arearranged in a linear order in a navigation pane of the user interface torepresent at least some of the plurality of business process features ofthe business scenario; and displaying, via the user interfaceconcurrently with the navigation pane, a work frame comprising the newuser interface feature.
 2. A computer program product as in claim 1,wherein the receiving occurs via a process linkage editor displayed inthe work pane upon selection of a linkage modification user interfaceelement displayed in the navigation pane.
 3. A computer program productas in claim 1, wherein the receiving occurs via a scenario linkageeditor operable by a scenario administrator, the scenario administratorhaving received a scenario modification feedback entered in the userinterface by a business user who lacks sufficient permissions to modifythe scenario model.
 4. A computer program product as in claim 3, whereinthe scenario modification feedback comprises a request to incorporatethe new user interface feature.
 5. A computer program product as inclaim 1, wherein the new user interface feature relates to an externalfunctionality provided by an software component external to, butintegrated into, a core software platform of the business softwarearchitecture, and wherein the modifying further comprises associatingthe external functionality with the business process feature.
 6. Acomputer program product as in claim 1, wherein the operations furthercomprise: storing the scenario model; and supporting, using the scenariomodel, scenario navigation relevant to the business configuration, thescenario navigation providing an ability to directly change a linkbetween one of the first plurality of user interface elements and itsassociated business process feature.
 7. A system comprising: at leastone programmable processor; and a machine-readable medium storinginstructions that, when executed by the at least one programmableprocessor, cause the at least one programmable processor to performoperations comprising: receiving a definition of a new user interfacefeature of a business software architecture, the business softwarearchitecture supporting a business configuration used by anorganization, the business configuration comprising a business scenariothat comprises a plurality of business process features havingassociated user interface features; modifying a rule in a scenario modelof the business to associate new user interface feature with at leastone of the plurality of business process features; detecting a selectionof the at least one of the plurality of business process features, theselection being received as an input via a user interface presentable ona computer display device, the input comprising user interaction with atleast one of a first plurality of user interface elements that arearranged in a linear order in a navigation pane of the user interface torepresent at least some of the plurality of business process features ofthe business scenario; and displaying, via the user interfaceconcurrently with the navigation pane, a work frame comprising the newuser interface feature.
 8. A system as in claim 7, wherein the receivingoccurs via a process linkage editor displayed in the work pane uponselection of a linkage modification user interface element displayed inthe navigation pane.
 9. A system as in claim 7, wherein the receivingoccurs via a scenario linkage editor operable by a scenarioadministrator, the scenario administrator having received a scenariomodification feedback entered in the user interface by a business userwho lacks sufficient permissions to modify the scenario model.
 10. Asystem as in claim 9, wherein the scenario modification feedbackcomprises a request to incorporate the new user interface feature.
 11. Asystem as in claim 7, wherein the new user interface feature relates toan external functionality provided by an software component external to,but integrated into, a core software platform of the business softwarearchitecture, and wherein the modifying further comprises associatingthe external functionality with the business process feature.
 12. Asystem as in claim 7, wherein the operations further comprise: storingthe scenario model; and supporting, using the scenario model, scenarionavigation relevant to the business configuration, the scenarionavigation providing an ability to directly change a link between one ofthe first plurality of user interface elements and its associatedbusiness process feature.
 13. A computer-implemented method comprising:at least one programmable processor; and a machine-readable mediumstoring instructions that, when executed by the at least oneprogrammable processor, cause the at least one programmable processor toperform operations comprising: receiving a definition of a new userinterface feature of a business software architecture, the businesssoftware architecture supporting a business configuration used by anorganization, the business configuration comprising a business scenariothat comprises a plurality of business process features havingassociated user interface features; modifying a rule in a scenario modelof the business to associate new user interface feature with at leastone of the plurality of business process features; detecting a selectionof the at least one of the plurality of business process features, theselection being received as an input via a user interface presentable ona computer display device, the input comprising user interaction with atleast one of a first plurality of user interface elements that arearranged in a linear order in a navigation pane of the user interface torepresent at least some of the plurality of business process features ofthe business scenario; and displaying, via the user interfaceconcurrently with the navigation pane, a work frame comprising the newuser interface feature.
 14. A computer-implemented method as in claim13, wherein the receiving occurs via a process linkage editor displayedin the work pane upon selection of a linkage modification user interfaceelement displayed in the navigation pane.
 15. A computer-implementedmethod as in claim 13, wherein the receiving occurs via a scenariolinkage editor operable by a scenario administrator, the scenarioadministrator having received a scenario modification feedback enteredin the user interface by a business user who lacks sufficientpermissions to modify the scenario model.
 16. A computer-implementedmethod as in claim 15, wherein the scenario modification feedbackcomprises a request to incorporate the new user interface feature.
 17. Acomputer-implemented method as in claim 13, wherein the new userinterface feature relates to an external functionality provided by ansoftware component external to, but integrated into, a core softwareplatform of the business software architecture, and wherein themodifying further comprises associating the external functionality withthe business process feature.
 18. A computer-implemented method as inclaim 13, further comprising: storing the scenario model; andsupporting, using the scenario model, scenario navigation relevant tothe business configuration, the scenario navigation providing an abilityto directly change a link between one of the first plurality of userinterface elements and its associated business process feature.
 19. Acomputer-implemented method as in claim 13, wherein at least one of thereceiving, the modifying, the detecting, and the displaying is performedby at least one programmable processor.